home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #337 (1994-06)(Rhein-Sieg-Soft).zip / Franz PD Disk #337 (1994-06)(Rhein-Sieg-Soft).adf / BootTool2 / BBSources / MessageBB_1.1.asm < prev    next >
Assembly Source File  |  1994-04-26  |  3KB  |  180 lines

  1.  
  2. ; Assembler: DevPac 2.14
  3.  
  4. ; use Tab 11
  5.  
  6.  
  7.     opt    o+,p+
  8.  
  9. *****  Message-Bootblock V1.1  *****
  10.  
  11. bootcode    dc.l    $444f5300
  12.     dc.l    $00000000
  13.     dc.l    $00000370
  14.  
  15.     move.l    4.w,a6
  16.     jsr    -132(a6)        ; _LVOForbid
  17.  
  18. .alloc_mem    move.l    #320+12+100+108,d0    ; BitPlane+BitMap+RastPort+CopperList
  19.     move.l    #$10002,d1
  20.     jsr    -198(a6)        ; _LVOAllocMem
  21.     tst.l    d0
  22.     beq    .dos_boot
  23.     move.l    d0,d7
  24.  
  25. .open_gfx    lea    gfx_lib(pc),a1
  26.     moveq    #33,d0
  27.     jsr    -552(a6)        ; _LVOOpenLibrary
  28.     tst.l    d0
  29.     beq    .free_mem
  30.     move.l    d0,a6
  31.  
  32.     move.l    d7,a1
  33.     adda.l    #320+12,a1
  34.     jsr    -198(a6)        ; _LVOInitRastPort
  35.  
  36.     move.l    d7,a0
  37.     adda.l    #320,a0
  38.     moveq    #1,d0
  39.     move.l    #320,d1
  40.     moveq    #8,d2
  41.     jsr    -390(a6)        ; _LVOInitBitMap
  42.  
  43.     move.l    d7,a0
  44.     adda.l    #320+12,a0        ; Strukturen verbinden
  45.     move.l    d7,a1
  46.     adda.l    #320,a1
  47.     move.l    d7,a2
  48.     move.l    a1,$04(a0)
  49.     move.l    a2,$08(a1)
  50.  
  51.     move.l    d7,a1
  52.     adda.l    #320+12,a1
  53.     moveq    #52,d0
  54.     moveq    #6,d1
  55.     jsr    -240(a6)        ; _LVOMove
  56.     move.l    d7,a1
  57.     adda.l    #320+12,a1
  58.     lea    boot_text(pc),a0
  59.     moveq    #24,d0
  60.     jsr    -60(a6)        ; _LVOText
  61.  
  62.     moveq    #107,d0
  63.     move.l    d7,a0
  64.     adda.l    #320+12+100,a0
  65.     move.l    a0,a2
  66.     lea    coplist(pc),a1
  67. .loop    move.b    (a1)+,(a0)+
  68.     dbf    d0,.loop
  69.  
  70.     move.l    d7,d0
  71.     move.w    d0,46(a2)        ; BitPlane-Zeiger in
  72.     swap    d0        ; BPL1PTH / BPL1PTL
  73.     move.w    d0,42(a2)        ; schreiben (s.u.)
  74.  
  75.     lea    $dff000,a0
  76.     move.l    a2,$080(a0)    ; COP1LCH
  77.     move.w    #0,$088(a0)    ; COPJMP1
  78.     move.w    #$8300,$096(a0)    ; DMACON
  79.  
  80.     move.w    #$000c,d1
  81.     move.w    #$ffff,d0
  82. .wait    nop
  83.     dbf.w    d0,.wait
  84.     dbf.w    d1,.wait
  85.  
  86.     move.l    $26(a6),$080(a0)    ; COP1LCH
  87.     move.w    #0,$088(a0)
  88.  
  89. .close_gfx    move.l    a6,a1
  90.     move.l    4.w,a6
  91.     jsr    -414(a6)        ; _LVOCloseLibrary
  92.  
  93. .free_mem    move.l    d7,a1
  94.     move.l    #320+12+100+108,d0
  95.     jsr    -210(a6)        ; _LVOFreeMem
  96.  
  97.     jsr    -138(a6)        ; _LVOPermit
  98.  
  99. .dos_boot    lea    exp_lib(pc),a1
  100.     moveq    #37,d0
  101.     jsr    -552(a6)        ; _LVOOpenLibrary
  102.     tst.l    d0
  103.     beq.s    no_explib
  104.     movea.l    d0,a1
  105.     bset    #6,34(a1)
  106.     jsr    -414(a6)        ; _LVOCloseLibrary
  107. no_explib    lea    dos_lib(pc),a1
  108.     jsr    -96(a6)        ; _LVOFindResident
  109.     tst.l    d0
  110.     beq.s    not_found
  111.     movea.l    d0,a0
  112.     movea.l    22(a0),a0
  113.     moveq    #0,d0
  114.     rts
  115. not_found    moveq    #-1,d0
  116.     rts
  117.  
  118. gfx_lib    dc.b    "graphics.library",0
  119. dos_lib    dc.b    "dos.library",0
  120. exp_lib    dc.b    "expansion.library",0
  121. boot_text    dc.b    "No Virus on Bootblock !!",0
  122.  
  123. coplist    dc.w    $2001,$fffe
  124.     dc.w    $0100        ; BPLCON0
  125.     dc.w    $0200
  126.     dc.w    $008e        ; DIWSTRT
  127.     dc.w    $0581
  128.     dc.w    $0090        ; DIWSTOP
  129.     dc.w    $40c1
  130.     dc.w    $0092        ; DDFSTRT
  131.     dc.w    $0038
  132.     dc.w    $0094        ; DDFSTOP
  133.     dc.w    $00d0
  134.     dc.w    $0102        ; BPLCON1
  135.     dc.w    $0000
  136.     dc.w    $0104        ; BPLCON2
  137.     dc.w    $0024
  138.     dc.w    $0108        ; BPL1MOD
  139.     dc.w    $0000
  140.     dc.w    $010a        ; BPL2MOD
  141.     dc.w    $0000
  142.     dc.w    $00e0        ; BPL1PTH
  143.     dc.w    0        ; wird während Boot gefüllt (s.o.)
  144.     dc.w    $00e2        ; BPL1PTL
  145.     dc.w    0        ; wird während Boot gefüllt (s.o.)
  146.     dc.w    $182        ; COLOR01
  147.     dc.w    $00f0
  148.     dc.w    $180        ; COLOR00
  149.     dc.w    $0040
  150.     dc.w    $9b0f        ; Zeile
  151.     dc.w    $fffe
  152.     dc.w    $180        ; COLOR00
  153.     dc.w    $00f0
  154.     dc.w    $9d0f        ; Zeile
  155.     dc.w    $fffe
  156.     dc.w    $180        ; COLOR00
  157.     dc.w    $0000
  158.     dc.w    $a20f,$fffe
  159.     dc.w    $0100        ; BPLCON0
  160.     dc.w    $1200
  161.     dc.w    $a90f,$fffe
  162.     dc.w    $0100        ; BPLCON0
  163.     dc.w    $0200
  164.     dc.w    $af0f        ; Zeile
  165.     dc.w    $fffe
  166.     dc.w    $180        ; COLOR00
  167.     dc.w    $00f0
  168.     dc.w    $b10f        ; Zeile
  169.     dc.w    $fffe
  170.     dc.w    $180        ; COLOR00
  171.     dc.w    $0040
  172.     dc.l    $fffffffe        ; End der CopperList
  173.     
  174. coplist_end
  175.  
  176. bootcode_end
  177.  
  178.     end
  179.  
  180.